#ifndef TRCL_LISTVIEW_DEFINED
#define TRCL_LISTVIEW_DEFINED

  #include "displayobject.def"

  struct TROD_Listview
  {
    struct TROD_DisplayObject DO;
    struct List *             Entries;
    ULONG                     Value;
    ULONG                     Top;
    ULONG                     Flags;
    BOOL                      ReadOnly;
    BOOL                      ShowSelected;
    ULONG                     DispLines;      // Number of visible entries
    ULONG                     TotLines;       // Number of total entries
    ULONG                     MinWidth;
    ULONG                     MinHeight;
    UWORD                     FontHeight;
    UWORD                     ScrollWidth;
    ULONG                     LastEntry;
    ULONG                     LastSeconds;
    ULONG                     LastMicros;
    BOOL                      DoubleClicked;  // Was the last click a double-click?
  };

  extern TR_METHOD(Listview,NEW,NewData);
  extern TR_METHOD(Listview,INSTALL,InstallData);
  extern TR_METHOD(Listview,SETATTRIBUTE,SetAttributeData);
  extern TR_SIMPLEMETHOD(Listview,GETATTRIBUTE);
  extern TR_SIMPLEMETHOD(Listview,DISABLED_ENABLED);
  extern TR_SIMPLEMETHOD(Listview,PREGTREMOVE);
  extern TR_METHOD(Listview,KEYDOWN_REPEATEDKEYDOWN,EventData);
  extern TR_METHOD(Listview,EVENT,EventData);
  extern TR_SIMPLEMETHOD(Listview,GETBETTERHEIGHT);

#endif
